<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>圣杯布局示例</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Arial', sans-serif;
            min-height: 100vh;
            display: grid;
            grid-template-rows: auto 1fr auto;
            grid-template-columns: 200px 1fr;
            grid-template-areas:
                "header header"
                "sidebar main"
                "footer footer";
            gap: 20px;
            padding: 20px;
            background-color: #f5f5f5;
        }
        
        header {
            grid-area: header;
            background-color: #3498db;
            color: white;
            padding: 20px;
            text-align: center;
        }
        
        .sidebar {
            grid-area: sidebar;
            background-color: #2c3e50;
            color: white;
            padding: 20px;
        }
        
        main {
            grid-area: main;
            background-color: white;
            padding: 20px;
            overflow-y: auto;
        }
        
        footer {
            grid-area: footer;
            background-color: #3498db;
            color: white;
            padding: 20px;
            text-align: center;
        }
        
        h1, h2, h3 {
            margin-bottom: 15px;
        }
        
        p {
            line-height: 1.6;
            margin-bottom: 15px;
        }
        
        nav {
            margin-bottom: 20px;
        }
        
        nav ul {
            list-style: none;
        }
        
        nav ul li {
            margin-bottom: 10px;
        }
        
        nav ul li a {
            color: white;
            text-decoration: none;
        }
        
        nav ul li a:hover {
            text-decoration: underline;
        }
        
        .content-item {
            margin-bottom: 30px;
            padding-bottom: 20px;
            border-bottom: 1px solid #eee;
        }
        
        .content-item:last-child {
            border-bottom: none;
        }
    </style>
</head>
<body>
    <header>
        <h1>圣杯布局示例</h1>
        <p>一个使用 CSS Grid 实现的经典网页布局</p>
    </header>
    
    <aside class="sidebar">
        <nav>
            <h3>导航菜单</h3>
            <ul>
                <li><a href="#">首页</a></li>
                <li><a href="#">关于我们</a></li>
                <li><a href="#">服务</a></li>
                <li><a href="#">产品</a></li>
                <li><a href="#">联系我们</a></li>
            </ul>
        </nav>
        
        <h3>热门文章</h3>
        <ul>
            <li><a href="#">CSS Grid 布局入门</a></li>
            <li><a href="#">响应式设计技巧</a></li>
            <li><a href="#">现代网页布局方法</a></li>
        </ul>
    </aside>
    
    <main>
        <section class="content-item">
            <h2>什么是圣杯布局？</h2>
            <p>圣杯布局（Holy Grail Layout）是一个经典的网页布局模式，旨在解决传统三列布局中的高度问题。它通常包含一个固定的侧边栏、一个可扩展的主要内容区域和一个页脚，所有这些组件都应该在浏览器窗口中可见而无需滚动。</p>
            <p>在传统布局中，侧边栏和主要内容区域的高度通常取决于最长的内容。而圣杯布局要求所有内容区域在同一水平线上结束，这在实际应用中可能很难实现。</p>
        </section>
        
        <section class="content-item">
            <h2>使用 CSS Grid 的优势</h2>
            <p>CSS Grid 布局模型为创建复杂的网页布局提供了强大而灵活的工具。使用 Grid，我们可以轻松实现圣杯布局，而无需使用过时的浮动或定位技术。Grid 提供了以下优势：</p>
            <ul>
                <li>明确的网格定义，易于理解和维护</li>
                <li>可以轻松创建响应式布局</li>
                <li>更好的控制元素之间的间距和对齐方式</li>
                <li>代码更简洁，可读性更高</li>
            </ul>
        </section>
        
        <section class="content-item">
            <h2>示例代码</h2>
            <p>上面的布局使用了以下 CSS Grid 代码：</p>
            <pre>
body {
    display: grid;
    grid-template-rows: auto 1fr auto;
    grid-template-columns: 200px 1fr;
    grid-template-areas:
        "header header"
        "sidebar main"
        "footer footer";
    gap: 20px;
    padding: 20px;
}
            </pre>
        </section>
    </main>
    
    <footer>
        <p>&copy; 2023 圣杯布局示例. 保留所有权利。</p>
        <p>联系我们: <a href="mailto:info@example.com">info@example.com</a></p>
    </footer>
</body>
</html>